﻿using System;
using Abp.Application.Services.Dto;
using Abp.Extensions;
using Abp.Runtime.Validation;
using LeadThing.AbpZeroTemplate.Dto;

namespace LeadThing.AbpZeroTemplate.DisputeInformations.Dtos
{
	/// <summary>
    /// 矛盾纠纷信息查询Dto
    /// </summary>
    public class GetDisputeInformationInput : PagedAndSortedInputDto, IShouldNormalize
    {
        //DOTO:在这里增加查询参数

		/// <summary>
	    /// 模糊查询参数
		/// </summary>
		public string Filter { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 结束状态（只适用于结束流程）
        /// </summary>
        public int endStaus { get; set; }

        /// <summary>
        /// 紧急程度ID
        /// </summary>
        public int UrgencyID { get; set; }

        /// <summary>
        /// 纠纷ID
        /// </summary>
        public int ID { get; set; }

        /// <summary>
        /// 当事人
        /// </summary>
        public string Party { get; set; }

        public string StartDate { get; set; }

        public string EndDate { get; set; }

        /// <summary>
        /// 镇
        /// </summary>
        public int TownID { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        public int AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        public int VillageID { get; set; }

        /// <summary>
        /// 纠纷类别ID
        /// </summary>
        public int? DisputeTypeID { get; set; }

        /// <summary>
        /// 纠纷来源ID
        /// </summary>
        public int? SourceID { get; set; }

        /// <summary>
        /// 当前状态ID
        /// </summary>
        public int? CurrentProcessID { get; set; }

        /// <summary>
        /// 用户ID
        /// </summary>
        public int UserID { get; set; }

        /// <summary>
        /// 上传人
        /// </summary>
        public string UploadName { get; set; }

        /// <summary>
        /// 用于排序的默认值
        /// </summary>
        public void Normalize()
        {
            if (string.IsNullOrEmpty(Sorting))
            {
                Sorting = "Id";
            }
        }
    }
}
